package uniandes.cupi2.joy_graph.interfaz;

import java.awt.GridBagLayout;
import javax.swing.JPanel;
import java.awt.Dimension;
import javax.swing.JLabel;
import java.awt.Rectangle;
import javax.swing.SwingConstants;
import javax.swing.JTextField;
import java.awt.SystemColor;
import javax.swing.BorderFactory;
import javax.swing.border.TitledBorder;
import java.awt.Font;
import java.awt.Color;
import javax.swing.JScrollPane;
import java.awt.GridBagConstraints;
import javax.swing.JList;

public class PanelArchivosVertice extends JPanel {

	private static final long serialVersionUID = 1L;
	/**
	 * Label principal del titulo
	 */
	private JLabel infoVertice = null;
	/**
	 * Campo de texto del Cliente
	 */
	private JTextField txtCliente = null;
	/**
	 * SubPanel de archivos
	 */
	private JPanel panelArchivos = null;
	
	/**
	 * ScrollPane que contiene los archivos
	 */
	private JScrollPane scrollArchivos = null;
	/**
	 * JList de los archivos
	 */
	private JList listaArchivos = null;

	/**
	 * This is the default constructor
	 */
	public PanelArchivosVertice() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setBackground( Color.BLACK );
		this.setForeground( Color.WHITE );
		this.setSize(100, 100);
		this.setPreferredSize(new Dimension(150, 150));
		this.setLayout(null);
		this.add(getInfoVertice(), null);
		this.add(getTxtCliente(), null);
		this.add(getPanelArchivos(), null);
	}

	/**
	 * This method initializes infoVertice	
	 * 	
	 * @return javax.swing.JLabel	
	 */
	private JLabel getInfoVertice() {
		if (infoVertice == null) {
			infoVertice = new JLabel();
			infoVertice.setBackground( Color.BLACK );
			infoVertice.setForeground( Color.WHITE );
			infoVertice.setText("Archivos Cliente");
			infoVertice.setVerticalTextPosition(SwingConstants.TOP);
			infoVertice.setHorizontalAlignment(SwingConstants.CENTER);
			infoVertice.setBounds(new Rectangle(1, 8, 110, 27));
		}
		return infoVertice;
	}

	/**
	 * This method initializes txtCliente	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTxtCliente() {
		if (txtCliente == null) {
			txtCliente = new JTextField();
			txtCliente.setBackground( Color.BLACK );
			txtCliente.setForeground( Color.WHITE );
			txtCliente.setBounds(new Rectangle(8, 38, 100, 23));
			txtCliente.setEditable(false);
			txtCliente.setBackground(SystemColor.activeCaptionBorder);
		}
		return txtCliente;
	}

	/**
	 * This method initializes panelArchivos	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getPanelArchivos() {
		if (panelArchivos == null) {
			GridBagConstraints gridBagConstraints = new GridBagConstraints();
			gridBagConstraints.fill = GridBagConstraints.BOTH;
			gridBagConstraints.gridy = 0;
			gridBagConstraints.weightx = 1.0;
			gridBagConstraints.weighty = 1.0;
			gridBagConstraints.gridheight = 2;
			gridBagConstraints.gridx = 0;
			panelArchivos = new JPanel();
			panelArchivos.setBackground( Color.BLACK );
			panelArchivos.setForeground( Color.WHITE );
			panelArchivos.setLayout(new GridBagLayout());
			panelArchivos.setBounds(new Rectangle(3, 62, 105, 210));
			panelArchivos.setBorder(BorderFactory.createTitledBorder(null, "Archivos", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("Dialog", Font.BOLD, 12), new Color(51, 51, 51)));
			panelArchivos.add(getScrollArchivos(), gridBagConstraints);
		}
		return panelArchivos;
	}

	/**
	 * This method initializes scrollArchivos	
	 * 	
	 * @return javax.swing.JScrollPane	
	 */
	private JScrollPane getScrollArchivos() {
		if (scrollArchivos == null) {
			scrollArchivos = new JScrollPane();
			scrollArchivos.setBackground( Color.BLACK );
			scrollArchivos.setForeground( Color.WHITE );
			scrollArchivos.setViewportView(getListaArchivos());
		}
		return scrollArchivos;
	}

	/**
	 * This method initializes listaArchivos	
	 * 	
	 * @return javax.swing.JList	
	 */
	private JList getListaArchivos() {
		if (listaArchivos == null) {
			listaArchivos = new JList();
		}
		return listaArchivos;
	}

}  //  @jve:decl-index=0:visual-constraint="10,10"
